package com.vhall.component.service.goods;

import com.vhall.component.entity.goods.goods.*;
import com.vhall.component.entity.goods.vo.GetGoodsInfoResponseVO;
import com.vhall.component.entity.goods.vo.GuoxinPrdApiBindReqVO;
import com.vhall.component.entity.page.vo.PageVO;

/**
 * @author guoxin.wang
 * @date 2021-10-12 14:02
 */
public interface LiveGoodsConsoleService {

    /**
     * 直播间绑定商品列表
     *
     * @param reqVO 参数
     * @return 返回值
     */
    GoodsPage<LiveGoodsConsoleBindListRspVO> getBindList(LiveGoodsConsoleBindListReqVO reqVO);

    /**
     * 直播间未绑定商品列表
     *
     * @param reqVO 参数
     * @return 返回值
     */
    GoodsPage<LiveGoodsConsoleUnBindListRspVO> getUnBindList(LiveGoodsConsoleUnBindListReqVO reqVO);

    /**
     * 直播间绑定商品
     *
     * @param reqVO 参数
     * @return 返回值
     */
    Boolean bindGoods(LiveGoodsConsoleBindGoodsReqVO reqVO);

    /**
     * 为直播间解绑商品
     *
     * @param reqVO 参数
     * @return 返回值
     */
    Boolean unBindGoods(LiveGoodsConsoleUnBindGoodsReqVO reqVO);

    /**
     * 修改直播间绑定商品排序
     *
     * @param reqVO 参数
     * @return 返回值
     */
    Boolean updateSort(LiveGoodsConsoleUpdateSortGoodsReqVO reqVO);

    /**
     * 删除绑定商品的缓存
     *
     * @param ilId 参数
     */
    void delFirstPageGoodsCache(Integer ilId);

    /**
     * 获取直播间绑定商品列表-国信
     * @param reqVO
     * @return
     */
    PageVO<GetGoodsInfoResponseVO> getGuoxinPrdBindList(GuoxinPrdApiBindReqVO reqVO);
}
